Data represents a significant asset for many entities. Consequently, data loss, whether accidental or caused by malicious activity, can be costly in terms of wasted manpower, loss of goodwill from customers, loss of time and potential legal liability. To ensure proper protection of data for business and legal purposes, many entities back up data to a physical storage media such as magnetic tapes or optical disks. Traditionally, backup would occur at each machine controlled by an entity. As the sophistication of network technology increased, many entities turned to enterprise level backup in which data from multiple machines on a network is backed up to a remote media library. Centralized data backup allows storage problems to be identified at one location and has the advantage of increased efficiency.
One example of a media library commonly used in enterprise backup systems is a magnetic tape library. In a typical magnetic tape library, tapes are contained in cartridges and the tape library contains multiple cartridge slots in which tape cartridges can be stored. The tape cartridges are physically moved between cartridge slots and tape drives by a robot. The robot is controlled by access commands received from the host devices on the network. When specific data is required, the host device determines which cartridge slot contains the tape cartridge that holds the desired data. The host device then transmits a move-medium command to the robot and the robot moves the tape cartridge.
In a SCSI tape library, devices that are part of the library are typically addressed by target number and logical unit numbers (“LUN”). Thus, each drive and media changer of a tape library typically has a target number and LUN. Cartridge slots, on the other hand, are addressed by element addresses that are used by the robot to locate the slots. Because the robot also places tape cartridges in the drives, each drive is also associated with an element address. The robot is also assigned an element address. If multiple tape libraries are connected to a single device (e.g., a Fibre Channel to SCSI routing device), the tape libraries may be further addressed by bus number.
The operation of traditional media libraries leads to problems when multiple hosts attempt to access the media library. For instance, two or more hosts may attempt to access the same cartridge slot at the same time, but for data at different locations on the tape. In this situation, there is a conflict and the tape library system must somehow resolve the issue of which host's access request the system will respond to. The conflict becomes even more apparent when the tape library system has more than one tape drive. The system then has to resolve not only the question of which access request to respond to, but also which tape drive the tape should be loaded into. Therefore, it is desirable to control access to media libraries by multiple hosts in a manner that reduces or prevents conflicts. Moreover, many host applications expect that all types of element addresses in a media library will be contiguous. Indeed, contiguous element addresses are required by the SCSI Media Changer (“SMC”) and SMC-2 standards.
Another issue encountered is that many independent software vendor (“ISV”) host applications timeout commands such as MODE SENSE commands, INQUIRY commands and LOG SENSE commands and other status commands. If the commands are passed to the media library through an access control device such as a storage routing device, the storage routing device may not be able to forward a command to the media library, receive a response and return the response to the command before the command is timed out by the host application. The issue of timing out commands can become more problematic as the number hosts issuing commands to the media library increases. Therefore, it is desirable to have a mechanism to quickly process status commands for a media library that is shared among host applications.